package com.cy.store.service.impl;

import com.cy.store.entity.District;
import com.cy.store.mapper.DistrictMapper;
import com.cy.store.service.IDistrictService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.stream.Collectors;

/**
 * @author Luo Sheng
 * @school YiBin university
 * @create 2022-12-05 22:04
 */
@Service
public class DistrictServiceImpl implements IDistrictService {
    @Autowired
    DistrictMapper districtMapper;

    /**
     * 根据父代号查询区域信息
     * @param parent 父代号
     * @return 某个父区域的所有区域列表
     */
    @Override
    public List<District> getByParent(String parent) {
        // 调用持久层方法
        List<District> list = districtMapper.findByParent(parent);

        /**
         * 在传输网络数据时，为了避免无效数据的传递，可以将无效的数据设置为null
         * 可以节省流量，另一方面提升了效率
         *
         */
        list.stream().map((item) -> {
            item.setId(null);
            item.setParent(null);
            return item;
        }).collect(Collectors.toList());
        return list;
    }

    /**
     * 根据代号查询地区名
     * @param code 代号
     * @return 地区名
     */
    @Override
    public String getNameByCode(String code) {
        return districtMapper.findNameByCode(code);
    }
}
